package cn.hlife.com.hlfhaemocyte.systemsetting.view;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.text.TextUtils;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.EditText;
import android.widget.Toast;

import org.json.JSONException;
import org.json.JSONObject;

import cn.hlife.com.hlfhaemocyte.R;
import cn.hlife.com.hlfhaemocyte.utils.LogUtils;
import cn.hlife.com.hlfhaemocyte.utils.SharedPreferencesUtils;

/**
 * Created by Administrator on 2017/6/24.
 */

public class FullBooldFragment extends Fragment {
    private EditText WBC_xs,//白细胞系数
            WBC_A, WBC_B,//A、B   白细胞三分类阈值
            WL_xs,//淋巴细胞系数系数
            WM_xs,//中间细胞系数
            WG_xs,//中性粒细胞系数
            RBC_xs,//红细胞系数
            RBC_MCV,//红细胞压积系数
            PLT_xs,//血小板系数
            PLT_MPV,//血小板压积系数
            HGB_xs,//血红蛋白系数
            TEMP,//空白透光强
            RDWSD,//红细胞分布宽度 SD
            PLCR,//大血小板比率
            RDWCV,//红细胞分布宽度 CV
            PDW;//血小板分布宽度

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.coefficient_fragment, container, false);
        initView(view);

        return view;
    }

    public void initView(View view) {
        WBC_xs = (EditText) view.findViewById(R.id.WBC_xs);
        WBC_A = (EditText) view.findViewById(R.id.WBC_A);
        WBC_B = (EditText) view.findViewById(R.id.WBC_B);
        WL_xs = (EditText) view.findViewById(R.id.WL_xs);
        WM_xs = (EditText) view.findViewById(R.id.WM_xs);
        WG_xs = (EditText) view.findViewById(R.id.WG_xs);
        RBC_xs = (EditText) view.findViewById(R.id.RBC_xs);
        RBC_MCV = (EditText) view.findViewById(R.id.RBC_MCV);
        PLT_xs = (EditText) view.findViewById(R.id.PLT_xs);
        PLT_MPV = (EditText) view.findViewById(R.id.PLT_MPV);
        HGB_xs = (EditText) view.findViewById(R.id.HGB_xs);
        TEMP = (EditText) view.findViewById(R.id.TEMP);
        RDWSD = (EditText) view.findViewById(R.id.RDWSD);
        RDWCV = (EditText) view.findViewById(R.id.RDWCV);
        PLCR = (EditText) view.findViewById(R.id.PLCR);
        PDW = (EditText) view.findViewById(R.id.PDW);
        setWidgetData();
    }

    @Override
    public void onHiddenChanged(boolean hidden) {
        super.onHiddenChanged(hidden);
        if (hidden) {
            LogUtils.e("FullBooldFragment 开始保存数据");
            checkInputIntegrity();
        }else{
            setWidgetData();
        }
    }

    public View.OnClickListener onClickListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            switch (v.getId()) {
                case R.id.save_button:
                    if (checkInputIntegrity()) {
                        Toast.makeText(getContext(), "相关参数已保存",
                                Toast.LENGTH_SHORT).show();
                    }
//                    byte []    value1= ConstantUtils.getCommandArrayByWBC(cmd1_WBC,cmd2_WBC);
//                    String  str= TransformDataUtils.toHex(value1);
//                    byte []   by= TransformDataUtils.hexStringToByteArray(str);
//                    LogUtils.e(TransformDataUtils.toHex(by));
                    break;

            }
        }
    };

    /**
     * 配置界面数据
     */
    public void setWidgetData() {
        try {
            String str_WBC = SharedPreferencesUtils.getInstance().getFullBloodCellParameter(getContext());
            if (!TextUtils.isEmpty(str_WBC)) {
                JSONObject jsonCellAbout = new JSONObject(str_WBC);
                WBC_xs.setText(jsonCellAbout.getString("WBC_xs"));
                WBC_A.setText(jsonCellAbout.getString("WBC_A"));
                WBC_B.setText(jsonCellAbout.getString("WBC_B"));
                WL_xs.setText(jsonCellAbout.getString("WL_xs"));
                WM_xs.setText(jsonCellAbout.getString("WM_xs"));
                WG_xs.setText(jsonCellAbout.getString("WG_xs"));
                HGB_xs.setText(jsonCellAbout.getString("HGB_xs"));
                TEMP.setText(jsonCellAbout.getString("TEMP"));
                RBC_xs.setText(jsonCellAbout.getString("RBC_xs"));
                RBC_MCV.setText(jsonCellAbout.getString("RBC_MCV"));
                PLT_xs.setText(jsonCellAbout.getString("PLT_xs"));
                PLT_MPV.setText(jsonCellAbout.getString("PLT_MPV"));
                RDWSD.setText(jsonCellAbout.getString("RDWSD"));
                PLCR.setText(jsonCellAbout.getString("PLCR"));
                RDWCV.setText(jsonCellAbout.getString("RDWCV"));
                PDW.setText(jsonCellAbout.getString("PDW"));
//                PLT_threshold.setText(jsonCellAbout.getString("PLT_threshold"));
//                RBC_threshold.setText(jsonCellAbout.getString("RBC_threshold"));
            }
//            String str_MachineCommand = SharedPreferencesUtils.getInstance().getMachineCommandAbout(getContext());
//            if (!TextUtils.isEmpty(str_MachineCommand)) {
//                JSONObject jsonMachineCommand = new JSONObject(str_MachineCommand);
//                WBC_H_Command.setText(jsonMachineCommand.getString("WBC_H_Command"));
//                WBC_L_Command.setText(jsonMachineCommand.getString("WBC_L_Command"));
//                RBC_H_Command.setText(jsonMachineCommand.getString("RBC_H_Command"));
//                RBC_L_Command.setText(jsonMachineCommand.getString("RBC_L_Command"));
//                PLT_H_Command.setText(jsonMachineCommand.getString("PLT_H_Command"));
//                PLT_L_Command.setText(jsonMachineCommand.getString("PLT_L_Command"));
//            }
        } catch (Exception e) {
            LogUtils.e("出错信息：" + e.getMessage());
        }
    }

    /**
     * 检测数据的完成性
     */
    public boolean checkInputIntegrity() {
        String strWBC_xs = WBC_xs.getText().toString();
//        if (TextUtils.isEmpty(strWBC_xs)) {
//            Toast.makeText(getContext(), "白细胞系数不能为空", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        if (strWBC_xs.trim().equals("0")) {
//            Toast.makeText(getContext(), "白细胞系数不能为0", Toast.LENGTH_SHORT).show();
//            return false;
//        }
        String strWBC_A = WBC_A.getText().toString();
//        if (TextUtils.isEmpty(strWBC_A)) {
//            Toast.makeText(getContext(), "白细胞三分类阈值A不能为空", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        if (strWBC_A.trim().equals("0")) {
//            Toast.makeText(getContext(), "白细胞三分类阈值A不能为0", Toast.LENGTH_SHORT).show();
//            return false;
//        }
        String strWBC_B = WBC_B.getText().toString();
//        if (TextUtils.isEmpty(strWBC_B)) {
//            Toast.makeText(getContext(), "白细胞三分类阈值B不能为空", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        if (strWBC_B.trim().equals("0")) {
//            Toast.makeText(getContext(), "白细胞三分类阈值B不能为0", Toast.LENGTH_SHORT).show();
//            return false;
//        }
        String strWL_xs = WL_xs.getText().toString();
//        if (TextUtils.isEmpty(strWL_xs)) {
//            Toast.makeText(getContext(), "淋巴细胞系数系数不能为空", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        if (strWL_xs.trim().equals("0")) {
//            Toast.makeText(getContext(), "淋巴细胞系数系数不能为0", Toast.LENGTH_SHORT).show();
//            return false;
//        }
        String strWM_xs = WM_xs.getText().toString();
//        if (TextUtils.isEmpty(strWM_xs)) {
//            Toast.makeText(getContext(), "中间细胞系数不能为空", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        if (strWM_xs.trim().equals("0")) {
//            Toast.makeText(getContext(), "中间细胞系数不能为0", Toast.LENGTH_SHORT).show();
//            return false;
//        }
        String strWG_xs = WG_xs.getText().toString();
//        if (TextUtils.isEmpty(strWG_xs)) {
//            Toast.makeText(getContext(), "中性粒细胞系数不能为空", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        if (strWG_xs.trim().equals("0")) {
//            Toast.makeText(getContext(), "中性粒细胞系数不能为0", Toast.LENGTH_SHORT).show();
//            return false;
//        }
        String strRBC_xs = RBC_xs.getText().toString();
//        if (TextUtils.isEmpty(strRBC_xs)) {
//            Toast.makeText(getContext(), "红细胞系数不能为空", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        if (strRBC_xs.trim().equals("0")) {
//            Toast.makeText(getContext(), "红细胞系数不能为0", Toast.LENGTH_SHORT).show();
//            return false;
//        }
        String strRBC_MCV = RBC_MCV.getText().toString();
//        if (TextUtils.isEmpty(strRBC_MCV)) {
//            Toast.makeText(getContext(), "红细胞压积系数不能为空", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        if (strRBC_MCV.trim().equals("0")) {
//            Toast.makeText(getContext(), "红细胞压积系数不能为0", Toast.LENGTH_SHORT).show();
//            return false;
//        }
        String strPLT_xs = PLT_xs.getText().toString();
//        if (TextUtils.isEmpty(strPLT_xs)) {
//            Toast.makeText(getContext(), "血小板系数不能为空", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        if (strPLT_xs.trim().equals("0")) {
//            Toast.makeText(getContext(), "血小板系数不能为0", Toast.LENGTH_SHORT).show();
//            return false;
//        }
        String strPLT_MPV = PLT_MPV.getText().toString();
//        if (TextUtils.isEmpty(strPLT_MPV)) {
//            Toast.makeText(getContext(), "血小板压积系数不能为空", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        if (strPLT_MPV.trim().equals("0")) {
//            Toast.makeText(getContext(), "血小板压积系数不能为0", Toast.LENGTH_SHORT).show();
//            return false;
//        }
        String strHGB_xs = HGB_xs.getText().toString();
//        if (TextUtils.isEmpty(strHGB_xs)) {
//            Toast.makeText(getContext(), "血红蛋白系数不能为空", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        if (strHGB_xs.trim().equals("0")) {
//            Toast.makeText(getContext(), "血红蛋白系数不能为0", Toast.LENGTH_SHORT).show();
//            return false;
//        }
        String strTEMP = TEMP.getText().toString();
//        if (TextUtils.isEmpty(strTEMP)) {
//            Toast.makeText(getContext(), "空白透光强不能为空", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        if (strTEMP.trim().equals("0")) {
//            Toast.makeText(getContext(), "空白透光强不能为0", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        String strWBC_H_Command = WBC_H_Command.getText().toString();
//        if (TextUtils.isEmpty(strWBC_H_Command)) {
//            Toast.makeText(getContext(), "白细胞阈值 指令1不能为空", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        if (strWBC_H_Command.trim().equals("0")) {
//            Toast.makeText(getContext(), "白细胞阈值 指令1不能为0", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        String strWBC_L_Command = WBC_L_Command.getText().toString();
//        if (TextUtils.isEmpty(strWBC_L_Command)) {
//            Toast.makeText(getContext(), "白细胞阈值 指令2不能为空", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        if (strWBC_L_Command.trim().equals("0")) {
//            Toast.makeText(getContext(), "白细胞阈值 指令2不能为0", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        String strRBC_H_Command = RBC_H_Command.getText().toString();
//        if (TextUtils.isEmpty(strRBC_H_Command)) {
//            Toast.makeText(getContext(), "红细胞阈值 指令1不能为空", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        if (strRBC_H_Command.trim().equals("0")) {
//            Toast.makeText(getContext(), "红细胞阈值 指令1不能为0", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        String strRBC_L_Command = RBC_L_Command.getText().toString();
//        if (TextUtils.isEmpty(strRBC_L_Command)) {
//            Toast.makeText(getContext(), "红细胞阈值 指令2不能为空", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        if (strRBC_L_Command.trim().equals("0")) {
//            Toast.makeText(getContext(), "红细胞阈值 指令2不能为0", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        String strPLT_H_Command = PLT_H_Command.getText().toString();
//        if (TextUtils.isEmpty(strPLT_H_Command)) {
//            Toast.makeText(getContext(), "血小板阈值 指令1不能为空", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        if (strPLT_H_Command.trim().equals("0")) {
//            Toast.makeText(getContext(), "血小板阈值 指令1能为0", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        String strPLT_L_Command = PLT_L_Command.getText().toString();
//        if (TextUtils.isEmpty(strPLT_L_Command)) {
//            Toast.makeText(getContext(), "血小板阈值 指令2不能为空", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        if (strPLT_L_Command.trim().equals("0")) {
//            Toast.makeText(getContext(), "血小板阈值 指令2不能为0", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        String strRBC_threshold = RBC_threshold.getText().toString();
//        if (TextUtils.isEmpty(strRBC_threshold)) {
//            Toast.makeText(getContext(), "红细胞阈值 不能为空", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        if (strRBC_threshold.trim().equals("0")) {
//            Toast.makeText(getContext(), "红细胞阈值  不能为0", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        String strPLT_threshold = PLT_threshold.getText().toString();
//        if (TextUtils.isEmpty(strPLT_threshold)) {
//            Toast.makeText(getContext(), "血小板阈值 不能为空", Toast.LENGTH_SHORT).show();
//            return false;
//        }
//        if (strPLT_threshold.trim().equals("0")) {
//            Toast.makeText(getContext(), "血小板阈值 不能为0", Toast.LENGTH_SHORT).show();
//            return false;
//        }
        //-------------------------------------细胞相关参数--------------------------

        try {
            JSONObject jsonObject = new JSONObject();
            jsonObject.put("WBC_xs", strWBC_xs);
            jsonObject.put("WBC_A", strWBC_A);
            jsonObject.put("WBC_B", strWBC_B);
            jsonObject.put("WL_xs", strWL_xs);
            jsonObject.put("WM_xs", strWM_xs);
            jsonObject.put("WG_xs", strWG_xs);
            jsonObject.put("RBC_xs", strRBC_xs);
            jsonObject.put("RBC_MCV", strRBC_MCV);
            jsonObject.put("HGB_xs", strHGB_xs);
            jsonObject.put("TEMP", strTEMP);
            jsonObject.put("PLT_xs", strPLT_xs);
            jsonObject.put("PLT_MPV", strPLT_MPV);
            jsonObject.put("PLT_xs", strPLT_xs);
            jsonObject.put("PLT_MPV", strPLT_MPV);
            jsonObject.put("RDWSD", RDWSD.getText().toString());
            jsonObject.put("PLCR", PLCR.getText().toString());
            jsonObject.put("RDWCV", RDWCV.getText().toString());
            jsonObject.put("PDW", PDW.getText().toString());
//            jsonObject.put("PLT_threshold", strPLT_threshold);
//            jsonObject.put("RBC_threshold", strRBC_threshold);
            saveCellParameter(jsonObject.toString());
            //------------------------------------机位指令----------------------------------------

//            JSONObject jsonMachineCommand = new JSONObject();
//            jsonMachineCommand.put("WBC_H_Command", strWBC_H_Command);
//            jsonMachineCommand.put("WBC_L_Command", strWBC_L_Command);
//            jsonMachineCommand.put("RBC_H_Command", strRBC_H_Command);
//            jsonMachineCommand.put("RBC_L_Command", strRBC_L_Command);
//            jsonMachineCommand.put("PLT_H_Command", strPLT_H_Command);
//            jsonMachineCommand.put("PLT_L_Command", strPLT_L_Command);
//            saveMachineCommandAbout(jsonMachineCommand.toString());
//        double doubleWBC_xs=Double.parseDouble(strWBC_xs);
//        int    intWBC_A=Integer.parseInt(strWBC_A);
//        int    intWBC_B=Integer.parseInt(strWBC_B);
//        double doubleWL=Double.parseDouble(strWL_xs);
        } catch (JSONException e) {
            e.printStackTrace();
        }
        return true;
    }
//    /**
//     * 机位指令参数保存
//     */
//    public void saveMachineCommandAbout(String value) {
//        SharedPreferencesUtils.getInstance().setMachineCommandAbout(getContext(), value);
//    }

    /**
     * 机位指令参数保存
     */
    public void saveCellParameter(String value) {
        SharedPreferencesUtils.getInstance().saveFullBloodCellParameter(getContext(), value);
    }

}
